<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>defineProperty</title>
  </head>
  <body></body>
</html>
<script>
  const obj = { y: 0 }
  Object.defineProperty(obj, 'y', {
    value: 200,
    writable: false, // 不可更改
    configurable: false // 不可配置
  })
  const proxy = new Proxy(obj, {
    // 捕获器不变式
    // 如果目标对象属性的某个特性是 configurable 为 false，则只有当代理处理器中对应的特性也相同，才能成功定义属性
    get() {
      return 'abc' // proxy 不能修改它的值
    }
  })
  console.log(proxy.y) // error
</script>
